#pragma once
namespace lakes {
    class ThreadPool;

    class TaskAbstract  {
    public:
        virtual void Task() = 0;
        
        virtual ~TaskAbstract() { }

        ThreadPool* getThreadPool() {
            return m_threadPool;
        }

        void setThreadPool(ThreadPool* threadPool) {
            m_threadPool = threadPool;
        }

    private:
        ThreadPool* m_threadPool = nullptr;
    };

} // namespace lakes






